home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 5
/
Apprentice-Release5.iso
/
Environments
/
PowerMacOberon feb96
/
Source
/
Printer.Mod
(
.txt
)
< prev
next >
Wrap
Oberon Text
|
1995-12-18
|
3KB
|
76 lines
Syntax10.Scn.Fnt
StampElems
Alloc
18 Dec 95
MODULE Printer; (*mf 15.1.93 / mah
IMPORT
Kernel, Macintosh, Oberon, Sys, SYS := SYSTEM;
res*: INTEGER;
PageWidth*, PageHeight*: INTEGER;
curR, curG, curB: INTEGER; (* current colors *)
RGBForeColor: PROCEDURE (rgb: Sys.RGBColor);
PROCEDURE Open*(VAR name, user: ARRAY OF CHAR; password: LONGINT);
VAR cmd: ARRAY 32 OF CHAR;
BEGIN
IF name="QuickDraw" THEN cmd:="QuickDrawPrinter.Install"
ELSIF name="PostScript" THEN cmd:="PostScriptPrinter.Install"
ELSIF name="Out.Prt" THEN cmd:="DummyPrinter.Install"
ELSE cmd:="NetworkPrinter.Install" END;
Oberon.Call(cmd, Oberon.Par, FALSE, res);
IF res=0 THEN Macintosh.prOpen(name, user, password) END
END Open;
PROCEDURE UseColor* (red, green, blue: INTEGER);
VAR rgb: Sys.RGBColor;
BEGIN
IF (red # curR) OR (green # curG) OR (blue # curB) THEN
curR := red; curG := green; curB := blue;
rgb.red := red*101H;
rgb.green := green*101H;
rgb.blue := blue*101H;
RGBForeColor (rgb)
END
END UseColor;
PROCEDURE Close*;
BEGIN Macintosh.prClose
END Close;
PROCEDURE Page*(nofcopies: INTEGER);
BEGIN
curR := 0; curG := 0; curB := 0;
Macintosh.prPage(nofcopies)
END Page;
PROCEDURE Circle*(x0, y0, r: INTEGER);
BEGIN Macintosh.prCircle(x0, y0, r)
END Circle;
PROCEDURE Ellipse*(x0, y0, a, b: INTEGER);
BEGIN Macintosh.prEllipse(x0, y0, a, b)
END Ellipse;
PROCEDURE Line*(x0, y0, x1, y1: INTEGER);
BEGIN Macintosh.prLine(x0, y0, x1, y1)
END Line;
PROCEDURE Spline*(x0, y0, n, open: INTEGER; VAR X, Y: ARRAY OF INTEGER);
BEGIN Macintosh.prSpline(x0, y0, n, open, X, Y)
END Spline;
PROCEDURE Picture*(x, y, w, h, mode: INTEGER; adr: LONGINT);
BEGIN Macintosh.prPicture(x, y, w, h, mode, adr)
END Picture;
PROCEDURE ReplConst*(x, y, w, h: INTEGER);
BEGIN Macintosh.prReplConst(x, y, w, h)
END ReplConst;
PROCEDURE ReplPattern*(x, y, w, h, col: INTEGER);
BEGIN Macintosh.prReplPattern(x, y, w, h, col)
END ReplPattern;
PROCEDURE String*(x, y: INTEGER; VAR s: ARRAY OF CHAR; VAR fname: ARRAY OF CHAR);
BEGIN Macintosh.prString(x, y, s, fname)
END String;
PROCEDURE ContString*(VAR s, fname: ARRAY OF CHAR);
BEGIN Macintosh.prContString(s, fname)
END ContString;
PROCEDURE UseListFont*(VAR name: ARRAY OF CHAR);
BEGIN Macintosh.prUseListFont(name)
END UseListFont;
BEGIN Sys.Assign ("RGBForeColor", SYS.ADR (RGBForeColor));
Macintosh.cmdName:="NetworkPrinter.Install"; Macintosh.cmdQ.Handle ();
IF Macintosh.qRes#0 THEN Macintosh.cmdName:="PostScriptPrinter.Install"; Macintosh.cmdQ.Handle () END;
IF Macintosh.qRes#0 THEN Macintosh.cmdName:="QuickDrawPrinter.Install"; Macintosh.cmdQ.Handle () END
END Printer.